#ifndef FACE_H
#define FACE_H

#include <QRect>
#include <QVector>
#include <QImage>

class Face
{
public:
    Face();
    Face(QRect face, QRect eye1 = QRect(), QRect eye2 = QRect(), QRect nose = QRect(), QRect mouth = QRect(), QImage image = QImage());
    Face(const Face &face);

    QRect adjustWithinFace(QRect rect);

    bool isSquinting();

    QImage image();
    QRect rect();
    QVector<QRect> eyesRects();
    QRect leftEyeRect();
    QRect rightEyeRect();
    QRect noseRect();
    QRect mouthRect();

    void setFaceImage(QImage face);
    void setFaceRect(QRect face);
    void setEyesRects(QRect leftEye, QRect rightEye);
    void setNoseRect(QRect nose);
    void setMouthRect(QRect mouth);

private:
    QRect rectFace;
    QRect rectLeftEye;
    QRect rectRightEye;
    QRect rectNose;
    QRect rectMouth;

    QImage imageFace;

};

#endif // FACE_H
